package com.black.cat.design;




/**
 * 面向对象的七大原则
 * 1、单一职责：一个类负责一个功能领域的相应职责
 *            高内聚，低耦合
 *
 *2、开闭原则：对拓展开放，对修改关闭。应该尽量在不修改原有代码的基础上拓展（最终目标）
 *  备注：注意：因为xml和properties等格式的配置文件是纯文本文件，可以直接通过VI编辑器或记事本进行编辑，且无须编译，
 *  因此在软件开发中，一般不把对配置文件的修改认为是对系统源代码的修改
 *
 *3、里氏代换原则：所有引用基类的地方必须能透明
 *  地使用其子类的对象
 *  在软件中将一个基类对象替换成它的子类对象，程序将不会产生任何错误和异常，
 *  反过来则不成立，如果一个软件实体使用的是一个子类对象的话，那么它不一定能够使用基类对象。 例如：我喜欢动物，
 *  那我一定喜欢狗，因为狗是动物的子类；但是我喜欢狗，不能据此断定我喜欢动物，因为我并不喜欢老鼠，虽然它也是动物。
 *
 *4、依赖倒转原则：抽象不应该依赖于细节，细节应当依赖于抽象。
 *
 *开闭原则是目标，里氏代换原则是基础，依赖倒转原则是手段
 *
 *5、接口隔离原则：使用多个专门的接口，而不使用单一的总接口，即客户端不应该依赖那些它不需要的接口。
 *
 *
 *6、合成复用原则：尽量使用对象组合，而不是继承来达到复用的目的。
 *
 *
 *7、迪米特法则：一个软件实体应当尽可能少地与其他实体发生相互作用。
 *
 *
 */
public class Main {

}
